perm filename PP.LAP[RUT,LSP] blob sn#343757 filedate 1978-03-22 generic text, type T, neo UTF8
(DEFLIST (%SPRINT %DEPTH %PPSIZE %PPSPEC %%LL %%BR %%CC %%T %%LP %%RP)
	 T 
	 NOCALL)

(DEFP ; NILL FSUBR)

(DEFP ;; NILL FSUBR)

(DRM /{ /{)

(LAP /{ SUBR)
	(JSP 6Q SPECBIND)
	(0Q 0Q (SPECIAL INTERNSTR) S)
	(MOVEI 2Q (QUOTE 50Q))
	(MOVEI 1Q (QUOTE NIL))
	(CALL 2Q (E TCONC) S)
	(PUSH P 1Q)
	(PUSH P (C 0Q 0Q (QUOTE NIL) 0Q))
	(PUSH P (C 0Q 0Q (QUOTE NIL) 0Q))
 TAG1	(CALL 0Q (E TYI) S)
	(MOVEM 1Q 0Q P)
	(CAIN 1Q (QUOTE 40Q))
	(JRST 0Q TAG7)
	(MOVEI 2Q (QUOTE 16Q))
	(CALL 2Q (E *LESS) S)
	(JUMPE 1Q TAG6)
	(MOVEI 2Q (QUOTE 10Q))
	(MOVE 1Q 0Q P)
	(CALL 2Q (E *GREAT) S)
	(JUMPE 1Q TAG6)
 TAG7	(MOVEI 5Q (QUOTE T) S)
	(MOVEM 5Q -1Q P)
	(JRST 0Q TAG1)
 TAG6	(MOVE 5Q 0Q P)
	(CAIN 5Q (QUOTE 175Q))
	(JRST 0Q TAG12)
	(MOVE 5Q -1Q P)
	(JUMPE 5Q TAG14)
	(MOVEI 2Q (QUOTE 40Q))
	(MOVE 1Q -2Q P)
	(CALL 2Q (E TCONC) S)
	(CLEARM 5Q -1Q P)
 TAG14	(PUSH P -2Q P)
	(MOVE 5Q -1Q P)
	(CAIE 5Q (QUOTE 42Q))
	(JRST 0Q TAG16)
	(MOVEI 2Q (QUOTE 47Q))
	(JRST 0Q TAG15)
 TAG16	(MOVE 2Q 5Q)
 TAG15	(POP P 1Q)
	(CALL 2Q (E TCONC) S)
	(JRST 0Q TAG1)
 TAG12	(HLRZ@ 2Q -2Q P)
	(MOVEI 1Q (QUOTE 40Q))
	(CALL 2Q (E MEMB) S)
	(MOVEM 1Q 0Q P)
	(JUMPE 1Q TAG20)
	(HRRZ@ 2Q 1Q)
	(MOVEI 1Q (QUOTE 42Q))
	(CALL 2Q (E CONS) S)
	(HRRM@ 1Q 0Q P)
	(MOVEI 2Q (QUOTE 42Q))
	(MOVE 1Q -2Q P)
	(CALL 2Q (E TCONC) S)
 TAG20	(MOVEI 2Q (QUOTE 51Q))
	(MOVE 1Q -2Q P)
	(CALL 2Q (E TCONC) S)
	(HLRZ@ 1Q -2Q P)
	(CALL 1Q (E READLIST) S)
	(PUSH P 1Q)
	(HLRZ@ 1Q -3Q P)
	(CALL 1Q (E FREELIST) S)
	(MOVE 1Q -3Q P)
	(CALL 1Q (E FREE) S)
	(POP P 1Q)
	(SUB P (C 3Q 0Q 3Q 0Q))
	(JRST 0Q SPECSTR)
	NIL

(LAP PPL FSUBR)
	(JSP 6Q SPECBIND)
	(0Q 0Q (SPECIAL LASTWORD) S)
	(0Q 0Q (SPECIAL EDITV) S)
	(PUSH P 1Q)
	(PUSH P 1Q)
 TAG1	(MOVE 5Q 0Q P)
	(JUMPE 5Q TAG11)
	(HLRZ@ 1Q 5Q)
	(HRRZ@ 5Q 5Q)
	(MOVEM 1Q 0Q P)
	(PUSH P 5Q)
	(CALL 1Q (E LITATOM) S)
	(JUMPE 1Q TAG13)
	(MOVE 1Q -1Q P)
	(CALL 1Q (E *EVAL) S)
	(MOVEM 1Q -2Q P)
	(JUMPE 1Q TAG13)
	(MOVE 1Q -2Q P)
	(CALL 17Q (E PP) S)
	(MOVE 5Q -1Q P)
	(CAIN 5Q (QUOTE ALLFNS) S)
	(JRST 0Q TAG17)
	(CAIN 5Q (QUOTE ALLVALS) S)
	(JRST 0Q TAG21)
	(MOVE 2Q -2Q P)
	(MOVE 1Q 5Q)
	(CALL 2Q (E MEMB) S)
	(JUMPN 1Q TAG23)
	(MOVE 1Q 5Q)
	(CALL 1Q (E NCONS) S)
	(MOVEI 2Q (QUOTE V:) S)
	(CALL 2Q (E XCONS) S)
	(CALL 1Q (E NCONS) S)
	(MOVEI 2Q (QUOTE NOCOMPILE) S)
	(CALL 2Q (E XCONS) S)
	(CALL 17Q (E MBD:) S)
 TAG23
 TAG21
 TAG17
 TAG13	(POP P -1Q P)
	(JRST 0Q TAG1)
 TAG11	(MOVEI 1Q (QUOTE 0Q))
	(CALL 1Q (E IASCII) S)
	(SUB P (C 2Q 0Q 2Q 0Q))
	(JRST 0Q SPECSTR)
	NIL

(LAP PPL; FSUBR)
	(JSP 6Q SPECBIND)
	(0Q 0Q (SPECIAL COMMENTFLG) S)
	(PUSH P 1Q)
	(MOVEI 5Q (QUOTE T) S)
	(MOVEM 5Q (SPECIAL COMMENTFLG) S)
	(CALL 17Q (E PPL) S)
	(SUB P (C 1Q 0Q 1Q 0Q))
	(JRST 0Q SPECSTR)
	NIL

(LAP PP FSUBR)
	(PUSH P 1Q)
	(CALL 0Q (E OUTCH) S)
	(PUSH P 1Q)
	(PUSH P (C 0Q 0Q (QUOTE NIL) 0Q))
	(PUSH P (C 0Q 0Q (QUOTE NIL) 0Q))
	(MOVE 1Q -3Q P)
	(JUMPN 1Q TAG10)
	(MOVE 1Q (SPECIAL LASTWORD) S)
	(CALL 1Q (E NCONS) S)
 TAG10	(PUSH P 1Q)
 TAG1	(MOVE 5Q 0Q P)
	(JUMPE 5Q TAG15)
	(HLRZ@ 1Q 5Q)
	(HRRZ@ 5Q 5Q)
	(MOVEM 1Q 0Q P)
	(PUSH P 5Q)
	(CALL 1Q (E CONSP) S)
	(JUMPE 1Q TAG17)
	(HLRZ@ 1Q -1Q P)
	(CALL 1Q (E CONSP) S)
	(JUMPE 1Q TAG21)
	(HLRZ@ 5Q -1Q P)
	(HLRZ@ 5Q 5Q)
	(CAIE 5Q (QUOTE LAP) S)
	(JRST 0Q TAG21)
	(CALL 0Q (E TERPRI) S)
	(HLRZ@ 1Q -1Q P)
	(CALL 1Q (E PRIN1) S)
	(HRRZ@ 1Q -1Q P)
	(PUSH P 1Q)
 TAG2	(MOVE 5Q 0Q P)
	(JUMPE 5Q TAG30)
	(HLRZ@ 1Q 5Q)
	(HRRZ@ 5Q 5Q)
	(MOVEM 1Q 0Q P)
	(PUSH P 5Q)
	(JUMPE 1Q TAG32)
	(CALL 1Q (E ATOM) S)
	(JUMPE 1Q TAG32)
	(MOVEI 1Q (QUOTE 2Q))
	(JRST 0Q TAG31)
 TAG32	(MOVEI 1Q (QUOTE 11Q))
 TAG31	(CALL 1Q (E TAB) S)
	(EXCH 1Q -1Q P)
	(CALL 1Q (E PRIN1) S)
	(MOVEM 1Q -3Q P)
	(POP P -1Q P)
	(JRST 0Q TAG2)
 TAG30	(MOVE 5Q -2Q P)
	(JUMPE 5Q TAG37)
	(MOVEI 1Q (QUOTE 11Q))
	(CALL 1Q (E TAB) S)
	(MOVEI 1Q (QUOTE NIL))
	(CALL 1Q (E PRIN1) S)
 TAG37	(CALL 0Q (E TERPRI) S)
	(SUB P (C 1Q 0Q 1Q 0Q))
	(JRST 0Q TAG20)
 TAG21	(HLRZ@ 1Q -1Q P)
	(CALL 1Q (E LITATOM) S)
	(JUMPE 1Q TAG40)
	(MOVEI 2Q (QUOTE PPCOM) S)
	(HLRZ@ 1Q -1Q P)
	(CALL 2Q (E GET) S)
	(JUMPE 1Q TAG40)
	(MOVE 1Q -1Q P)
	(CALL 1Q (E *EVAL) S)
	(JRST 0Q TAG20)
 TAG40	(CALL 0Q (E TERPRI) S)
	(MOVEI 2Q (QUOTE 1Q))
	(MOVE 1Q -1Q P)
	(CALL 2Q (E SPRINT) S)
	(CALL 0Q (E TERPRI) S)
 TAG20	(JRST 0Q TAG16)
 TAG17	(MOVE 1Q -1Q P)
	(CALL 1Q (E LITATOM) S)
	(JUMPE 1Q TAG44)
	(MOVEI 2Q (QUOTE (BROKEN-IN NAMESCHANGED)) S)
	(MOVE 1Q -1Q P)
	(CALL 2Q (E GETL) S)
	(JUMPE 1Q TAG46)
	(MOVE 1Q -1Q P)
	(CALL 1Q (E UNBREAK!) S)
	(CLEARM 5Q -5Q P)
	(JRST 0Q TAG45)
 TAG46	(MOVEI 2Q (QUOTE TRACE) S)
	(MOVE 1Q -1Q P)
	(CALL 2Q (E GET) S)
	(MOVEM 1Q -5Q P)
 TAG45	(CLEARM 5Q -2Q P)
	(PUSH P (SPECIAL PRETTYPROPS) S)
 TAG3	(MOVE 5Q 0Q P)
	(JUMPE 5Q TAG54)
	(HLRZ@ 1Q 5Q)
	(HRRZ@ 5Q 5Q)
	(MOVEM 1Q 0Q P)
	(PUSH P 5Q)
	(PUSH P (C 0Q 0Q (QUOTE NIL) 0Q))
	(CALL 1Q (E CONSP) S)
	(JUMPE 1Q TAG61)
	(HRRZ@ 5Q -2Q P)
	(HLRZ@ 4Q -2Q P)
	(MOVEM 4Q -2Q P)
	(MOVEM 5Q 0Q P)
 TAG61	(MOVEI 2Q (QUOTE (EXPR FEXPR MACRO)) S)
	(MOVE 1Q -2Q P)
	(CALL 2Q (E MEMB) S)
	(JUMPE 1Q TAG63)
	(MOVE 2Q -2Q P)
	(MOVE 1Q -4Q P)
	(CALL 2Q (E GET) S)
	(MOVEM 1Q -6Q P)
	(JUMPE 1Q TAG65)
	(MOVE 5Q -10Q P)
	(JUMPE 5Q TAG70)
	(HRRZ@ 1Q 5Q)
	(PUSH P 1Q)
	(CAIE 2Q (QUOTE MACRO) S)
	(JRST 0Q TAG72)
	(MOVEI 2Q (QUOTE FEXPR) S)
	(JRST 0Q TAG71)
 TAG72
 TAG71	(POP P 1Q)
	(CALL 2Q (E GET) S)
	(MOVEM 1Q -6Q P)
	(JUMPE 1Q TAG65)
 TAG70	(MOVE 5Q -7Q P)
	(JUMPN 5Q TAG75)
	(MOVE 5Q -4Q P)
	(MOVEM 5Q (SPECIAL LASTWORD) S)
 TAG75	(JRST 0Q TAG64)
 TAG65	(JRST 0Q TAG56)
 TAG64	(JRST 0Q TAG62)
 TAG63	(MOVE 5Q -2Q P)
	(CAIE 5Q (QUOTE VALUE) S)
	(JRST 0Q TAG76)
	(MOVE 2Q 5Q)
	(MOVE 1Q -4Q P)
	(CALL 2Q (E GET) S)
	(MOVEM 1Q -6Q P)
	(JUMPE 1Q TAG100)
	(HRRZ@ 5Q 1Q)
	(PUSH P 5Q)
	(CALL 0Q (E UNBOUND) S)
	(POP P 5Q)
	(CAMN 1Q 5Q)
	(JRST 0Q TAG100)
	(MOVE 5Q -7Q P)
	(JUMPN 5Q TAG104)
	(MOVE 5Q -4Q P)
	(MOVEM 5Q (SPECIAL EDITV) S)
 TAG104	(HRRZ@ 1Q -6Q P)
	(CALL 1Q (E UNMACEXPAND) S)
	(JRST 0Q TAG4)
 TAG100	(JRST 0Q TAG56)
	(JRST 0Q TAG62)
 TAG76	(MOVE 2Q 5Q)
	(MOVE 1Q -4Q P)
	(CALL 2Q (E GET) S)
	(MOVEM 1Q -6Q P)
	(JUMPE 1Q TAG56)
 TAG62	(MOVE 1Q -6Q P)
	(CALL 1Q (E UNMACEXPAND) S)
 TAG4	(MOVEI 5Q (QUOTE T) S)
	(MOVEM 5Q -5Q P)
	(CALL 0Q (E TERPRI) S)
	(MOVE 5Q 0Q P)
	(JUMPE 5Q TAG106)
	(MOVE 3Q -2Q P)
	(MOVE 2Q -6Q P)
	(MOVE 1Q -4Q P)
	(CALLF@ 3Q 0Q P)
	(JRST 0Q TAG105)
 TAG106	(MOVE 1Q -2Q P)
	(CALL 1Q (E NCONS) S)
	(MOVE 2Q -6Q P)
	(CALL 2Q (E XCONS) S)
	(MOVE 2Q -4Q P)
	(CALL 2Q (E XCONS) S)
	(MOVEI 2Q (QUOTE DEFPROP) S)
	(CALL 2Q (E XCONS) S)
	(MOVEI 2Q (QUOTE 1Q))
	(CALL 2Q (E SPRINT) S)
 TAG105	(CALL 0Q (E TERPRI) S)
 TAG56	(SUB P (C 1Q 0Q 1Q 0Q))
	(POP P -1Q P)
	(JRST 0Q TAG3)
 TAG54	(MOVE 5Q (SPECIAL PP) S)
	(JUMPE 5Q TAG111)
	(MOVE 5Q -5Q P)
	(JUMPE 5Q TAG111)
	(MOVE 5Q -3Q P)
	(JUMPE 5Q TAG111)
	(MOVEI 2Q (QUOTE NIL))
	(MOVEI 1Q (QUOTE NIL))
	(CALL 2Q (E OUTC) S)
	(MOVEI 2Q (QUOTE NIL))
	(MOVE 1Q -2Q P)
	(CALL 2Q (E PRINA) S)
	(MOVEI 2Q (QUOTE NIL))
	(MOVEI 1Q (QUOTE 1Q))
	(CALL 2Q (E SPACES) S)
	(MOVEI 2Q (QUOTE NIL))
	(MOVE 1Q -5Q P)
	(CALL 2Q (E OUTC) S)
	(JRST 0Q TAG110)
 TAG111	(MOVE 5Q -3Q P)
	(JUMPN 5Q TAG116)
	(MOVE 5Q (SPECIAL NOPRETTYPROPS) S)
	(JUMPE 5Q TAG116)
	(MOVEI 2Q (QUOTE NIL))
	(MOVEI 1Q (QUOTE NIL))
	(CALL 2Q (E OUTC) S)
	(MOVEM 1Q 0Q P)
	(CALL 0Q (E TALK) S)
	(MOVEI 1Q (QUOTE 1Q))
	(CALL 1Q (E LINES) S)
	(MOVEI 2Q (QUOTE NIL))
	(MOVE 1Q -2Q P)
	(CALL 2Q (E PRINA) S)
	(MOVEI 2Q (QUOTE NIL))
	(MOVEI 1Q (QUOTE " has no properties on PRETTYPROPS.") S)
	(CALL 2Q (E PRINAC) S)
	(CALL 0Q (E TERPRI) S)
	(MOVEI 2Q (QUOTE NIL))
	(EXCH 1Q 0Q P)
	(CALL 2Q (E OUTC) S)
 TAG116
 TAG110	(SUB P (C 1Q 0Q 1Q 0Q))
	(JRST 0Q TAG16)
 TAG44	(CALL 0Q (E TERPRI) S)
	(MOVEI 2Q (QUOTE NIL))
	(MOVE 1Q -1Q P)
	(CALL 2Q (E PRINA) S)
	(CALL 0Q (E TERPRI) S)
 TAG16	(POP P -1Q P)
	(JRST 0Q TAG1)
 TAG15	(SUB P (C 1Q 0Q 1Q 0Q))
	(MOVEI 1Q (QUOTE 0Q))
	(SUB P (C 4Q 0Q 4Q 0Q))
	(JCALL 1Q (E IASCII) S)
	NIL

(DEFV PP NIL)

(DEFV NOPRETTYPROPS T)

(LAP PP; FSUBR)
	(JSP 6Q SPECBIND)
	(0Q 0Q (SPECIAL COMMENTFLG) S)
	(PUSH P 1Q)
	(MOVEI 5Q (QUOTE T) S)
	(MOVEM 5Q (SPECIAL COMMENTFLG) S)
	(CALL 17Q (E PP) S)
	(SUB P (C 1Q 0Q 1Q 0Q))
	(JRST 0Q SPECSTR)
	NIL

(LAP *PG* SUBR)
	(MOVEI 1Q (QUOTE 14Q))
	(CALL 1Q (E TYO) S)
	(MOVEI 1Q (QUOTE NIL))
	(POPJ P)
	NIL

(LAP F: FSUBR)
	(JSP 6Q SPECBIND)
	(0Q 0Q (SPECIAL PRETTYPROPS) S)
	(PUSH P 1Q)
	(MOVEI 5Q (QUOTE (EXPR FEXPR MACRO)) S)
	(MOVEM 5Q (SPECIAL PRETTYPROPS) S)
	(JUMPE 1Q TAG5)
	(CALL 17Q (E PP) S)
 TAG5	(SUB P (C 1Q 0Q 1Q 0Q))
	(JRST 0Q SPECSTR)
	NIL

(LAP P: FSUBR)
	(JSP 6Q SPECBIND)
	(0Q 0Q (SPECIAL PRETTYPROPS) S)
	(PUSH P 1Q)
	(HLRZ@ 5Q 1Q)
	(MOVEM 5Q (SPECIAL PRETTYPROPS) S)
	(HRRZ@ 1Q 1Q)
	(JUMPE 1Q TAG5)
	(CALL 17Q (E PP) S)
 TAG5	(SUB P (C 1Q 0Q 1Q 0Q))
	(JRST 0Q SPECSTR)
	NIL

(LAP V: FSUBR)
	(PUSH P 1Q)
 TAG1	(MOVE 5Q 0Q P)
	(JUMPE 5Q TAG6)
	(HLRZ@ 1Q 5Q)
	(HRRZ@ 5Q 5Q)
	(MOVEM 1Q 0Q P)
	(PUSH P 5Q)
	(PUSH P (C 0Q 0Q (QUOTE NIL) 0Q))
	(CALL 1Q (E LITATOM) S)
	(JUMPE 1Q TAG13)
	(MOVEI 2Q (QUOTE VALUE) S)
	(MOVE 1Q -2Q P)
	(CALL 2Q (E GET) S)
	(MOVEM 1Q 0Q P)
	(HRRZ@ 5Q 1Q)
	(PUSH P 5Q)
	(CALL 0Q (E UNBOUND) S)
	(POP P 5Q)
	(CAME 1Q 5Q)
	(JRST 0Q TAG15)
	(MOVEI 5Q (QUOTE (NIL)) S)
	(MOVEM 5Q 0Q P)
 TAG15	(JRST 0Q TAG12)
 TAG13	(MOVE 1Q -2Q P)
	(CALL 1Q (E CONSP) S)
	(JUMPE 1Q TAG16)
	(HLRZ@ 1Q -2Q P)
	(CALL 1Q (E LITATOM) S)
	(JUMPE 1Q TAG16)
	(HRRZ@ 2Q -2Q P)
	(HLRZ@ 2Q 2Q)
	(MOVEI 1Q (QUOTE NIL))
	(CALL 2Q (E CONS) S)
	(HLRZ@ 5Q -2Q P)
	(MOVEM 1Q 0Q P)
	(MOVEM 5Q -2Q P)
	(JRST 0Q TAG12)
 TAG16	(CALL 0Q (E TERPRI) S)
	(MOVEI 2Q (QUOTE NIL))
	(MOVE 1Q -2Q P)
	(CALL 2Q (E PRINA) S)
	(CALL 0Q (E TERPRI) S)
	(JRST 0Q TAG7)
 TAG12	(HRRZ@ 1Q 0Q P)
	(CALL 1Q (E UNMACEXPAND) S)
	(CALL 0Q (E TERPRI) S)
	(MOVEI 3Q (QUOTE VALUE) S)
	(MOVE 2Q 0Q P)
	(MOVE 1Q -2Q P)
	(CALL 3Q (E PP-VALUE) S)
	(CALL 0Q (E TERPRI) S)
	(MOVE 5Q (SPECIAL PP) S)
	(JUMPE 5Q TAG23)
	(CALL 0Q (E OUTCH) S)
	(JUMPE 1Q TAG25)
	(MOVEI 2Q (QUOTE NIL))
	(MOVEI 1Q (QUOTE NIL))
	(CALL 2Q (E OUTC) S)
	(MOVEI 2Q (QUOTE NIL))
	(PUSH P 1Q)
	(MOVE 1Q -3Q P)
	(CALL 2Q (E PRINA) S)
	(MOVEI 2Q (QUOTE NIL))
	(MOVEI 1Q (QUOTE 1Q))
	(CALL 2Q (E SPACES) S)
	(MOVEI 2Q (QUOTE NIL))
	(MOVE 1Q 0Q P)
	(CALL 2Q (E OUTC) S)
	(SUB P (C 1Q 0Q 1Q 0Q))
 TAG25
 TAG23
 TAG7	(SUB P (C 1Q 0Q 1Q 0Q))
	(POP P -1Q P)
	(JRST 0Q TAG1)
 TAG6	(MOVEI 1Q (QUOTE 0Q))
	(SUB P (C 1Q 0Q 1Q 0Q))
	(JCALL 1Q (E IASCII) S)
	NIL

(LAP MBD: FSUBR)
	(PUSH P 1Q)
	(HRRZ@ 1Q 1Q)
	(JUMPE 1Q TAG2)
	(CALL 0Q (E TERPRI) S)
	(MOVEI 2Q (QUOTE NIL))
	(MOVEI 1Q (QUOTE "(") S)
	(CALL 2Q (E PRINAC) S)
	(MOVEI 2Q (QUOTE NIL))
	(HLRZ@ 1Q 0Q P)
	(CALL 2Q (E PRINA) S)
	(HRRZ@ 1Q 0Q P)
	(CALL 17Q (E PP) S)
	(MOVEI 2Q (QUOTE NIL))
	(MOVEI 1Q (QUOTE ")") S)
	(CALL 2Q (E PRINAC) S)
	(CALL 0Q (E TERPRI) S)
	(MOVEI 1Q (QUOTE 0Q))
	(CALL 1Q (E IASCII) S)
 TAG2	(SUB P (C 1Q 0Q 1Q 0Q))
	(POPJ P)
	NIL

(LAP FORMS: FSUBR)
	(PUSH P 1Q)
 TAG1	(MOVE 5Q 0Q P)
	(JUMPE 5Q TAG6)
	(HLRZ@ 1Q 5Q)
	(HRRZ@ 5Q 5Q)
	(MOVEM 1Q 0Q P)
	(PUSH P 5Q)
	(CALL 0Q (E TERPRI) S)
	(MOVEI 2Q (QUOTE 1Q))
	(EXCH 1Q -1Q P)
	(CALL 2Q (E SPRINT) S)
	(CALL 0Q (E TERPRI) S)
	(POP P -1Q P)
	(JRST 0Q TAG1)
 TAG6	(MOVEI 1Q (QUOTE 0Q))
	(SUB P (C 1Q 0Q 1Q 0Q))
	(JCALL 1Q (E IASCII) S)
	NIL

(DEFP E: PROGN FSUBR)

(DEFLIST (*PG* F: P: V: MBD: FORMS: E:) T PPCOM)

(LAP SPRINT SUBR)
	(PUSH P 1Q)
	(MOVEI 1Q (QUOTE NIL))
	(PUSH P 2Q)
	(CALL 1Q (E LINELENGTH) S)
	(MOVEM 1Q (SPECIAL %%LL) S)
	(MOVE 1Q 0Q P)
	(JUMPN 1Q TAG1)
	(MOVEI 1Q (QUOTE 1Q))
 TAG1	(CALL 1Q (E TAB) S)
	(MOVE 5Q (SPECIAL PRETTYFLG) S)
	(JUMPE 5Q TAG4)
	(MOVE 1Q -1Q P)
	(CALL 1Q (E PATOM) S)
	(JUMPE 1Q TAG3)
 TAG4	(MOVE 1Q -1Q P)
	(CALL 1Q (E PRIN1) S)
	(JRST 0Q TAG2)
 TAG3	(MOVEI 2Q (QUOTE NIL))
	(MOVE 1Q -1Q P)
	(PUSHJ P %SPRINT)
 TAG2	(MOVEI 1Q (QUOTE NIL))
	(SUB P (C 2Q 0Q 2Q 0Q))
	(POPJ P)
	NIL

(LAP %SPRINT SUBR)
	(PUSH P 1Q)
	(PUSH P 2Q)
	(PUSH P (C 0Q 0Q (QUOTE NIL) 0Q))
	(PUSH P (C 0Q 0Q (QUOTE NIL) 0Q))
	(JUMPE 2Q TAG12)
	(MOVEI 5Q (QUOTE 133Q))
	(MOVEM 5Q (SPECIAL %%LP) S)
	(MOVEI 5Q (QUOTE 135Q))
	(MOVEM 5Q (SPECIAL %%RP) S)
	(MOVEM 5Q -2Q P)
	(JRST 0Q TAG11)
 TAG12	(MOVEI 5Q (QUOTE 50Q))
	(MOVEM 5Q (SPECIAL %%LP) S)
	(MOVEI 5Q (QUOTE 51Q))
	(MOVEM 5Q (SPECIAL %%RP) S)
	(MOVEM 5Q -2Q P)
 TAG11
 TAG1	(CALL 0Q (E CHRPOS) S)
	(CALL 1Q (E ADD1) S)
	(MOVEM 1Q 0Q P)
	(HLRZ@ 1Q -3Q P)
	(MOVEM 1Q -1Q P)
	(CALL 1Q (E CONSP) S)
	(JUMPE 1Q TAG15)
	(MOVE 1Q (SPECIAL %%LP) S)
	(CALL 1Q (E TYO) S)
	(MOVEI 2Q (QUOTE NIL))
	(MOVE 1Q -1Q P)
	(PUSHJ P %SPRINT)
	(CLEARM 5Q (SPECIAL %%BR) S)
	(JRST 0Q TAG4)
 TAG15	(MOVE 1Q -1Q P)
	(CALL 1Q (E LITATOM) S)
	(JUMPE 1Q TAG16)
	(MOVEI 2Q (QUOTE PRINTMACRO) S)
	(MOVE 1Q -1Q P)
	(CALL 2Q (E GET) S)
	(MOVEM 1Q (SPECIAL %%T) S)
	(JUMPE 1Q TAG16)
	(MOVE 1Q (SPECIAL %%T) S)
	(CALL 1Q (E STRINGP) S)
	(JUMPE 1Q TAG22)
	(HRRZ@ 1Q -3Q P)
	(CALL 1Q (E PATOM) S)
	(JUMPN 1Q TAG2)
	(HRRZ@ 5Q -3Q P)
	(HRRZ@ 5Q 5Q)
	(JUMPN 5Q TAG2)
	(MOVE 1Q (SPECIAL %%T) S)
	(CALL 1Q (E PRINC) S)
	(HRRZ@ 1Q -3Q P)
	(HLRZ@ 1Q 1Q)
	(MOVEM 1Q -3Q P)
	(CALL 1Q (E PATOM) S)
	(JUMPE 1Q TAG26)
	(MOVE 1Q -3Q P)
	(CALL 1Q (E PRIN1) S)
	(JRST 0Q TAG6)
 TAG26	(JRST 0Q TAG1)
	(JRST 0Q TAG21)
 TAG22	(MOVE 5Q (SPECIAL %%T) S)
	(CAIE 5Q (QUOTE BRACKETS) S)
	(JRST 0Q TAG27)
	(MOVEI 5Q (QUOTE T) S)
	(MOVEM 5Q (SPECIAL %%BR) S)
	(JRST 0Q TAG3)
 TAG27	(MOVE 1Q -3Q P)
	(PUSH P 5Q)
	(CALLF@ 1Q 0Q P)
	(SUB P (C 1Q 0Q 1Q 0Q))
	(CAIE 1Q (QUOTE SPRINT) S)
	(JRST 0Q TAG7)
 TAG21
 TAG16
 TAG2	(CLEARM 5Q (SPECIAL %%BR) S)
 TAG3	(MOVE 1Q (SPECIAL %%LP) S)
	(CALL 1Q (E TYO) S)
	(MOVE 1Q -1Q P)
	(CALL 1Q (E PRIN1) S)
 TAG4	(HRRZ@ 1Q -3Q P)
	(MOVEM 1Q -3Q P)
	(CALL 1Q (E PATOM) S)
	(JUMPE 1Q TAG31)
	(MOVE 4Q (SPECIAL %%BR) S)
	(MOVE 3Q 0Q P)
	(MOVE 2Q 3Q)
	(MOVE 1Q -3Q P)
	(CALL 4Q (E PP-LSEG) S)
	(JRST 0Q TAG30)
 TAG31	(MOVE 2Q 0Q P)
	(MOVE 1Q (SPECIAL %%LL) S)
	(CALL 2Q (E *DIF) S)
	(MOVEI 2Q (QUOTE 62Q))
	(CALL 2Q (E *MIN) S)
	(MOVEI 3Q (QUOTE T) S)
	(MOVE 2Q 1Q)
	(MOVE 1Q -1Q P)
	(PUSHJ P %PPSIZE)
	(CALL 1Q (E MINUSP) S)
	(JUMPE 1Q TAG32)
	(MOVE 4Q (SPECIAL %%BR) S)
	(MOVE 3Q 0Q P)
	(MOVE 2Q 3Q)
	(MOVE 1Q -3Q P)
	(CALL 4Q (E PP-LSEG) S)
	(JRST 0Q TAG30)
 TAG32	(CALL 0Q (E CHRCT) S)
	(MOVEM 1Q (SPECIAL %%CC) S)
	(MOVE 2Q (SPECIAL PPMAXLEN) S)
	(CALL 2Q (E *MIN) S)
	(MOVEI 3Q (QUOTE NIL))
	(MOVE 2Q 1Q)
	(MOVE 1Q -3Q P)
	(PUSHJ P %PPSIZE)
	(CALL 1Q (E MINUSP) S)
	(JUMPN 1Q TAG33)
	(MOVE 4Q (SPECIAL %%BR) S)
	(MOVEI 3Q (QUOTE NIL))
	(MOVEI 2Q (QUOTE NIL))
	(MOVE 1Q -3Q P)
	(CALL 4Q (E PP-LSEG) S)
	(JRST 0Q TAG30)
 TAG33	(MOVE 1Q -1Q P)
	(CALL 1Q (E PATOM) S)
	(JUMPE 1Q TAG34)
	(PUSH P -3Q P)
 TAG5	(HLRZ@ 1Q 0Q P)
	(CALL 1Q (E CONSP) S)
	(JUMPN 1Q TAG40)
	(HRRZ@ 1Q 0Q P)
	(MOVEM 1Q 0Q P)
	(CALL 1Q (E PATOM) S)
	(JUMPE 1Q TAG43)
	(MOVEI 5Q (QUOTE T) S)
	(JRST 0Q TAG37)
 TAG43	(JRST 0Q TAG5)
 TAG40	(MOVEI 5Q (QUOTE NIL))
 TAG37	(SUB P (C 1Q 0Q 1Q 0Q))
	(JUMPE 5Q TAG34)
	(CALL 0Q (E CHRPOS) S)
	(CALL 1Q (E ADD1) S)
	(MOVE 4Q (SPECIAL %%BR) S)
	(MOVE 3Q 1Q)
	(MOVEI 2Q (QUOTE NIL))
	(MOVE 1Q -3Q P)
	(CALL 4Q (E PP-LSEG) S)
	(JRST 0Q TAG30)
 TAG34	(CALL 0Q (E CHRPOS) S)
	(MOVE 2Q 0Q P)
	(CALL 2Q (E *DIF) S)
	(MOVEM 1Q (SPECIAL %%T) S)
	(MOVEI 2Q (QUOTE 14Q))
	(CALL 2Q (E *GREAT) S)
	(JUMPN 1Q TAG45)
	(MOVE 1Q -1Q P)
	(CALL 1Q (E CONSP) S)
	(JUMPN 1Q TAG45)
	(MOVEI 2Q (QUOTE 1Q))
	(MOVE 1Q (SPECIAL %%T) S)
	(CALL 2Q (E *GREAT) S)
	(JUMPE 1Q TAG44)
	(MOVE 1Q -3Q P)
	(PUSHJ P %DEPTH)
	(MOVEI 2Q (QUOTE 6Q))
	(CALL 2Q (E *TIMES) S)
	(MOVE 2Q (SPECIAL %%CC) S)
	(CALL 2Q (E *GREAT) S)
	(JUMPE 1Q TAG44)
 TAG45	(MOVE 4Q (SPECIAL %%BR) S)
	(MOVE 3Q 0Q P)
	(MOVE 2Q 3Q)
	(MOVE 1Q -3Q P)
	(CALL 4Q (E PP-LSEG) S)
	(JRST 0Q TAG30)
 TAG44	(MOVEI 1Q (QUOTE 40Q))
	(CALL 1Q (E TYO) S)
	(CALL 0Q (E CHRPOS) S)
	(MOVE 4Q (SPECIAL %%BR) S)
	(MOVE 3Q 1Q)
	(MOVE 2Q 1Q)
	(MOVEM 1Q -1Q P)
	(MOVE 1Q -3Q P)
	(CALL 4Q (E PP-LSEG) S)
 TAG30	(MOVE 2Q 0Q P)
	(MOVE 1Q -2Q P)
	(CALL 2Q (E TYOA) S)
 TAG7	(MOVEI 1Q (QUOTE NIL))
 TAG6	(SUB P (C 4Q 0Q 4Q 0Q))
	(POPJ P)
	NIL

(DEFV PPMAXLEN 101Q)

(LAP %DEPTH SUBR)
	(PUSH P 1Q)
	(PUSH P (C 0Q 0Q (QUOTE 1Q) 0Q))
 TAG1	(HLRZ@ 1Q -1Q P)
	(CALL 1Q (E CONSP) S)
	(JUMPE 1Q TAG6)
	(HLRZ@ 1Q -1Q P)
	(PUSHJ P %DEPTH)
	(CALL 1Q (E ADD1) S)
	(MOVE 2Q 0Q P)
	(CALL 2Q (E *MAX) S)
	(MOVEM 1Q 0Q P)
 TAG6	(HRRZ@ 1Q -1Q P)
	(MOVEM 1Q -1Q P)
	(CALL 1Q (E CONSP) S)
	(JUMPN 1Q TAG1)
	(MOVE 1Q 0Q P)
	(JRST 0Q TAG2)
 TAG2	(SUB P (C 2Q 0Q 2Q 0Q))
	(POPJ P)
	NIL

(LAP %PPSIZE SUBR)
	(PUSH P 1Q)
	(PUSH P 2Q)
	(PUSH P 3Q)
 TAG1	(MOVE 1Q -2Q P)
	(CALL 1Q (E PATOM) S)
	(JUMPE 1Q TAG7)
	(MOVE 1Q -2Q P)
	(CALL 1Q (E FLATSIZE) S)
	(MOVE 2Q 1Q)
	(MOVE 1Q -1Q P)
	(CALL 2Q (E *DIF) S)
	(JRST 0Q TAG3)
 TAG7	(MOVE 5Q 0Q P)
	(JUMPE 5Q TAG10)
	(HLRZ@ 1Q -2Q P)
	(CALL 1Q (E LITATOM) S)
	(JUMPE 1Q TAG10)
	(MOVEI 2Q (QUOTE PRINTMACRO) S)
	(HLRZ@ 1Q -2Q P)
	(CALL 2Q (E GET) S)
	(MOVEM 1Q 0Q P)
	(JUMPE 1Q TAG10)
	(MOVE 1Q 0Q P)
	(CALL 1Q (E STRINGP) S)
	(JUMPE 1Q TAG16)
	(HRRZ@ 1Q -2Q P)
	(CALL 1Q (E CONSP) S)
	(JUMPE 1Q TAG16)
	(HRRZ@ 5Q -2Q P)
	(HRRZ@ 5Q 5Q)
	(JUMPN 5Q TAG16)
	(MOVE 1Q 0Q P)
	(CALL 1Q (E FLATSIZEC) S)
	(MOVE 2Q 1Q)
	(MOVE 1Q -1Q P)
	(CALL 2Q (E *DIF) S)
	(HRRZ@ 5Q -2Q P)
	(HLRZ@ 5Q 5Q)
	(MOVEM 1Q -1Q P)
	(MOVEM 5Q -2Q P)
	(JRST 0Q TAG1)
 TAG16	(MOVEI 2Q (QUOTE COMMENT) S)
	(HLRZ@ 1Q -2Q P)
	(CALL 2Q (E GET) S)
	(MOVEM 1Q 0Q P)
	(JUMPE 1Q TAG23)
	(CALL 0Q (E OUTCH) S)
	(JUMPN 1Q TAG25)
	(MOVE 5Q (SPECIAL COMMENTFLG) S)
	(JUMPN 5Q TAG27)
	(MOVEI 2Q (QUOTE 11Q))
	(MOVE 1Q -1Q P)
	(CALL 2Q (E *DIF) S)
	(JRST 0Q TAG3)
 TAG27
 TAG25	(MOVE 1Q 0Q P)
	(CALL 1Q (E NUMBERP) S)
	(JUMPE 1Q TAG31)
	(MOVEI 1Q (QUOTE -1Q))
	(JRST 0Q TAG3)
 TAG31
 TAG23
 TAG10	(MOVE 1Q -2Q P)
	(CALL 1Q (E LENGTH) S)
	(MOVE 2Q 1Q)
	(MOVE 1Q -1Q P)
	(CALL 2Q (E *DIF) S)
	(CALL 1Q (E SUB1) S)
	(MOVEM 1Q -1Q P)
 TAG2	(MOVE 1Q -1Q P)
	(CALL 1Q (E MINUSP) S)
	(JUMPE 1Q TAG33)
	(MOVE 1Q -1Q P)
	(JRST 0Q TAG3)
 TAG33	(MOVEI 3Q (QUOTE T) S)
	(MOVE 2Q -1Q P)
	(HLRZ@ 1Q -2Q P)
	(PUSHJ P %PPSIZE)
	(MOVEM 1Q -1Q P)
	(HRRZ@ 1Q -2Q P)
	(MOVEM 1Q -2Q P)
	(CALL 1Q (E CONSP) S)
	(JUMPN 1Q TAG2)
	(MOVE 5Q -2Q P)
	(JUMPN 5Q TAG36)
	(MOVE 1Q -1Q P)
	(JRST 0Q TAG3)
 TAG36	(MOVE 1Q 5Q)
	(CALL 1Q (E FLATSIZE) S)
	(MOVE 2Q 1Q)
	(MOVE 1Q -1Q P)
	(CALL 2Q (E *DIF) S)
	(MOVEI 2Q (QUOTE 3Q))
	(CALL 2Q (E *DIF) S)
	(JRST 0Q TAG3)
 TAG3	(SUB P (C 3Q 0Q 3Q 0Q))
	(POPJ P)
	NIL

(LAP PP-LSEG SUBR)
	(PUSH P 1Q)
	(PUSH P 2Q)
	(PUSH P 3Q)
	(PUSH P 4Q)
 TAG1	(MOVE 1Q -3Q P)
	(CALL 1Q (E PATOM) S)
	(JUMPN 1Q TAG4)
 TAG2	(MOVE 5Q -2Q P)
	(JUMPN 5Q TAG12)
	(MOVE 5Q -1Q P)
	(JUMPE 5Q TAG14)
	(CALL 0Q (E CHRCT) S)
	(PUSH P 1Q)
	(HLRZ@ 1Q -4Q P)
	(EXCH 1Q 0Q P)
	(CALL 1Q (E SUB1) S)
	(MOVEI 3Q (QUOTE T) S)
	(MOVE 2Q 1Q)
	(POP P 1Q)
	(PUSHJ P %PPSIZE)
	(CALL 1Q (E MINUSP) S)
	(JUMPE 1Q TAG14)
	(MOVE 1Q -1Q P)
	(CALL 1Q (E TAB) S)
	(JRST 0Q TAG13)
 TAG14	(MOVEI 1Q (QUOTE 40Q))
	(CALL 1Q (E TYO) S)
 TAG13	(HLRZ@ 1Q -3Q P)
	(CALL 1Q (E PATOM) S)
	(JUMPE 1Q TAG21)
	(HLRZ@ 1Q -3Q P)
	(CALL 1Q (E PRIN1) S)
	(JRST 0Q TAG3)
 TAG21	(JRST 0Q TAG11)
 TAG12	(HLRZ@ 1Q -3Q P)
	(CALL 1Q (E PATOM) S)
	(JUMPE 1Q TAG22)
	(MOVE 1Q -1Q P)
	(JUMPN 1Q TAG23)
	(HLRZ@ 1Q -3Q P)
	(CALL 1Q (E FLATSIZE) S)
	(MOVE 2Q 1Q)
	(MOVE 1Q -2Q P)
	(CALL 2Q (E *DIF) S)
	(CALL 1Q (E SUB1) S)
	(MOVEI 2Q (QUOTE 2Q))
	(CALL 2Q (E *MAX) S)
 TAG23	(CALL 1Q (E TAB) S)
	(HLRZ@ 1Q -3Q P)
	(CALL 1Q (E PRIN1) S)
	(HRRZ@ 1Q -3Q P)
	(MOVEM 1Q -3Q P)
	(CALL 1Q (E CONSP) S)
	(JUMPE 1Q TAG25)
	(MOVEI 1Q (QUOTE 40Q))
	(CALL 1Q (E TYO) S)
	(JRST 0Q TAG2)
 TAG25	(JRST 0Q TAG4)
 TAG22	(HLRZ@ 1Q -3Q P)
	(HLRZ@ 1Q 1Q)
	(CALL 1Q (E LITATOM) S)
	(JUMPE 1Q TAG26)
	(MOVEI 2Q (QUOTE COMMENT) S)
	(HLRZ@ 1Q -3Q P)
	(HLRZ@ 1Q 1Q)
	(CALL 2Q (E GET) S)
	(CALL 1Q (E NUMBERP) S)
	(JUMPE 1Q TAG26)
	(MOVEI 1Q (QUOTE 40Q))
	(CALL 1Q (E TYO) S)
	(JRST 0Q TAG11)
 TAG26	(MOVE 1Q -2Q P)
	(CALL 1Q (E TAB) S)
 TAG11	(MOVE 2Q 0Q P)
	(HLRZ@ 1Q -3Q P)
	(PUSHJ P %SPRINT)
 TAG3	(HRRZ@ 5Q -3Q P)
	(MOVEM 5Q -3Q P)
	(JRST 0Q TAG1)
 TAG4	(MOVE 5Q -3Q P)
	(JUMPE 5Q TAG33)
	(CALL 0Q (E CHRCT) S)
	(PUSH P 1Q)
	(MOVE 1Q 5Q)
	(CALL 1Q (E FLATSIZE) S)
	(MOVEI 2Q (QUOTE 3Q))
	(CALL 2Q (E *PLUS) S)
	(POP P 2Q)
	(CALL 2Q (E *GREAT) S)
	(JUMPE 1Q TAG35)
	(MOVE 1Q -2Q P)
	(JUMPN 1Q TAG36)
	(MOVE 1Q -1Q P)
 TAG36	(CALL 1Q (E TAB) S)
 TAG35	(MOVEI 1Q (QUOTE " . ") S)
	(CALL 1Q (E PRINC) S)
	(MOVE 1Q -3Q P)
	(CALL 1Q (E PRIN1) S)
 TAG33	(MOVEI 1Q (QUOTE NIL))
	(SUB P (C 4Q 0Q 4Q 0Q))
	(POPJ P)
	NIL

(LAP PP-FORMAT SUBR)
	(PUSH P 1Q)
	(PUSH P 2Q)
	(PUSH P 3Q)
	(PUSH P (SPECIAL %%RP) S)
	(MOVE 1Q (SPECIAL %%LP) S)
	(CALL 1Q (E TYO) S)
	(CALL 0Q (E CHRPOS) S)
	(PUSH P 1Q)
	(HLRZ@ 1Q -4Q P)
	(CALL 1Q (E PRIN1) S)
	(CALL 0Q (E CHRPOS) S)
	(CALL 1Q (E ADD1) S)
	(PUSH P 1Q)
	(HRRZ@ 1Q -5Q P)
	(MOVEM 1Q -5Q P)
	(CALL 0Q (E CHRCT) S)
	(MOVE 2Q (SPECIAL PPMAXLEN) S)
	(CALL 2Q (E *MIN) S)
	(MOVEI 3Q (QUOTE NIL))
	(MOVE 2Q 1Q)
	(MOVE 1Q -5Q P)
	(PUSHJ P %PPSIZE)
	(CALL 1Q (E MINUSP) S)
	(JUMPN 1Q TAG5)
	(MOVEI 4Q (QUOTE NIL))
	(MOVEI 3Q (QUOTE NIL))
	(MOVEI 2Q (QUOTE NIL))
	(MOVE 1Q -5Q P)
	(CALL 4Q (E PP-LSEG) S)
	(JRST 0Q TAG4)
 TAG5	(MOVEI 2Q (QUOTE 0Q))
	(MOVE 1Q -4Q P)
	(CALL 2Q (E *GREAT) S)
	(JUMPE 1Q TAG10)
	(MOVE 2Q -4Q P)
	(HRRZ@ 1Q -5Q P)
	(CALL 2Q (E NTH) S)
	(MOVE 2Q 1Q)
	(EXCH 1Q -5Q P)
	(CALL 2Q (E LDIFF) S)
	(MOVEI 4Q (QUOTE NIL))
	(MOVE 3Q 0Q P)
	(MOVEI 2Q (QUOTE NIL))
	(MOVEM 1Q -4Q P)
	(CALL 4Q (E PP-LSEG) S)
	(JRST 0Q TAG7)
 TAG10	(CLEARM 5Q -4Q P)
 TAG7	(PUSH P -5Q P)
	(MOVE 5Q -4Q P)
	(CAIE 5Q (QUOTE MISER) S)
	(JRST 0Q TAG13)
	(MOVE 2Q -2Q P)
	(JRST 0Q TAG12)
 TAG13	(MOVE 2Q -1Q P)
 TAG12	(PUSH P 2Q)
	(MOVE 3Q -5Q P)
	(JUMPN 3Q TAG16)
	(MOVE 3Q -2Q P)
	(JRST 0Q TAG15)
 TAG16	(CAIE 3Q (QUOTE MISER) S)
	(JRST 0Q TAG17)
	(MOVE 3Q -3Q P)
	(JRST 0Q TAG15)
 TAG17	(MOVEI 3Q (QUOTE NIL))
 TAG15	(MOVEI 4Q (QUOTE NIL))
	(POP P 2Q)
	(POP P 1Q)
	(CALL 4Q (E PP-LSEG) S)
	(MOVE 5Q -5Q P)
	(JUMPE 5Q TAG21)
	(MOVE 1Q -4Q P)
	(CALL 1Q (E FREELIST) S)
 TAG21
 TAG4	(MOVE 2Q -1Q P)
	(MOVE 1Q -2Q P)
	(CALL 2Q (E TYOA) S)
	(MOVEI 1Q (QUOTE NIL))
	(SUB P (C 6Q 0Q 6Q 0Q))
	(POPJ P)
	NIL

(LAP PP-VALUE SUBR)
	(PUSH P 1Q)
	(PUSH P 2Q)
	(JUMPE 1Q TAG2)
	(CAIN 1Q (QUOTE T) S)
	(JRST 0Q TAG4)
	(HRRZ@ 1Q 2Q)
	(CALL 1Q (E NCONS) S)
	(MOVE 2Q -1Q P)
	(CALL 2Q (E XCONS) S)
	(MOVEI 2Q (QUOTE DEFV) S)
	(CALL 2Q (E XCONS) S)
	(PUSH P 1Q)
	(CALL 0Q (E CHRPOS) S)
	(PUSH P 1Q)
	(MOVE 1Q -3Q P)
	(CALL 1Q (E FLATSIZE) S)
	(POP P 2Q)
	(CALL 2Q (E *PLUS) S)
	(MOVEI 2Q (QUOTE 10Q))
	(CALL 2Q (E *PLUS) S)
	(MOVE 2Q 1Q)
	(POP P 1Q)
	(CALL 2Q (E PRINA) S)
	(JRST 0Q TAG3)
 TAG4	(MOVEI 1Q (QUOTE NIL))
 TAG3
 TAG2	(SUB P (C 2Q 0Q 2Q 0Q))
	(POPJ P)
	NIL

(LAP PP-RMACS SUBR)
	(PUSH P 2Q)
	(MOVEI 2Q (QUOTE NIL))
	(PUSH P 1Q)
	(PUSH P 3Q)
	(CALL 2Q (E SETCHR) S)
	(MOVEM 1Q 0Q P)
	(CAIE 1Q (QUOTE 13Q))
	(JRST 0Q TAG2)
	(MOVEI 1Q (QUOTE DSM) S)
	(JRST 0Q TAG1)
 TAG2	(MOVEI 1Q (QUOTE DRM) S)
 TAG1	(EXCH 1Q -2Q P)
	(CALL 1Q (E NCONS) S)
	(MOVE 2Q -1Q P)
	(CALL 2Q (E XCONS) S)
	(MOVE 2Q -2Q P)
	(CALL 2Q (E XCONS) S)
	(MOVEI 2Q (QUOTE 1Q))
	(SUB P (C 3Q 0Q 3Q 0Q))
	(JCALL 2Q (E SPRINT) S)
	NIL

(LAP PP-COMMENT SUBR)
	(PUSH P 1Q)
	(PUSH P (C 0Q 0Q (QUOTE NIL) 0Q))
	(PUSH P (C 0Q 0Q (QUOTE NIL) 0Q))
	(PUSH P (C 0Q 0Q (QUOTE NIL) 0Q))
	(CALL 0Q (E OUTCH) S)
	(JUMPN 1Q TAG10)
	(MOVE 5Q (SPECIAL COMMENTFLG) S)
	(JUMPN 5Q TAG12)
	(MOVEI 1Q (QUOTE "*COMMENT*") S)
	(CALL 1Q (E PRINC) S)
	(JRST 0Q TAG4)
 TAG12
 TAG10	(MOVEI 2Q (QUOTE COMMENT) S)
	(HLRZ@ 1Q -3Q P)
	(CALL 2Q (E GET) S)
	(MOVEM 1Q 0Q P)
	(CALL 1Q (E NUMBERP) S)
	(JUMPE 1Q TAG14)
	(MOVE 1Q 0Q P)
	(CALL 1Q (E TAB) S)
 TAG14	(MOVE 1Q -3Q P)
	(CALL 1Q (E LAST) S)
	(HRRZ@ 5Q 1Q)
	(JUMPE 5Q TAG16)
	(CALL 0Q (E CHRPOS) S)
	(MOVE 2Q 1Q)
	(MOVE 1Q -3Q P)
	(CALL 2Q (E PRINA) S)
	(JRST 0Q TAG4)
 TAG16	(MOVE 1Q (SPECIAL COMMENTSTR) S)
	(JUMPE 1Q TAG20)
	(MOVEI 1Q (QUOTE 173Q))
	(JRST 0Q TAG17)
 TAG20	(MOVEI 1Q (QUOTE 50Q))
 TAG17	(CALL 1Q (E TYO) S)
	(HLRZ@ 1Q -3Q P)
	(CALL 1Q (E PRIN1) S)
	(CALL 0Q (E CHRPOS) S)
	(CALL 1Q (E ADD1) S)
	(MOVEM 1Q 0Q P)
	(HRRZ@ 1Q -3Q P)
	(HLRZ@ 1Q 1Q)
	(CALL 1Q (E STRINGP) S)
	(JUMPE 1Q TAG24)
	(HRRZ@ 5Q -3Q P)
	(HRRZ@ 5Q 5Q)
	(JUMPE 5Q TAG23)
 TAG24	(MOVEI 1Q (QUOTE 40Q))
	(CALL 1Q (E TYO) S)
	(MOVE 5Q (SPECIAL COMMENTSTR) S)
	(JUMPE 5Q TAG26)
	(MOVE 2Q 0Q P)
	(HRRZ@ 1Q -3Q P)
	(CALL 2Q (E PRINLC) S)
	(JRST 0Q TAG25)
 TAG26	(MOVE 2Q 0Q P)
	(HRRZ@ 1Q -3Q P)
	(CALL 2Q (E PRINL) S)
 TAG25	(JRST 0Q TAG3)
 TAG23	(HRRZ@ 1Q -3Q P)
	(HLRZ@ 1Q 1Q)
	(CALL 1Q (E AEXPLODEC) S)
	(PUSH P 1Q)
	(MOVEI 1Q (QUOTE 0Q))
	(CALL 1Q (E NCONS) S)
	(MOVE 2Q 1Q)
	(POP P 1Q)
	(CALL 2Q (E *NCONC) S)
	(MOVE 5Q 1Q)
	(MOVEM 5Q -3Q P)
	(MOVEM 1Q -2Q P)
 TAG1	(MOVE 2Q -3Q P)
	(MOVEI 1Q (QUOTE 40Q))
	(CALL 2Q (E MEMB) S)
	(HRRZ@ 5Q 1Q)
	(MOVE 2Q 1Q)
	(MOVEM 1Q -1Q P)
	(MOVE 1Q -3Q P)
	(PUSH P 5Q)
	(CALL 2Q (E LDIFF) S)
	(POP P -4Q P)
	(MOVEM 1Q -1Q P)
	(CALL 1Q (E LENGTH) S)
	(PUSH P 1Q)
	(CALL 0Q (E CHRCT) S)
	(POP P 2Q)
	(CALL 2Q (E *GREAT) S)
	(JUMPN 1Q TAG31)
	(MOVE 1Q 0Q P)
	(CALL 1Q (E TAB) S)
	(JRST 0Q TAG30)
 TAG31	(MOVEI 1Q (QUOTE 40Q))
	(CALL 1Q (E TYO) S)
 TAG30	(PUSH P -1Q P)
 TAG2	(MOVE 5Q 0Q P)
	(JUMPE 5Q TAG37)
	(HLRZ@ 1Q 5Q)
	(HRRZ@ 5Q 5Q)
	(MOVEM 1Q 0Q P)
	(PUSH P 5Q)
	(MOVE 4Q (SPECIAL COMMENTSTR) S)
	(JUMPN 4Q TAG41)
	(CALL 1Q (E DELIM) S)
	(JUMPE 1Q TAG43)
	(MOVEI 1Q (QUOTE 57Q))
	(CALL 1Q (E TYO) S)
 TAG43
 TAG41	(MOVE 1Q -1Q P)
	(CALL 1Q (E TYO) S)
	(POP P -1Q P)
	(JRST 0Q TAG2)
 TAG37	(SUB P (C 1Q 0Q 1Q 0Q))
	(MOVE 1Q -1Q P)
	(CALL 1Q (E LAST) S)
	(HLRZ@ 5Q 1Q)
	(CAIE 5Q (QUOTE 56Q))
	(JRST 0Q TAG45)
	(CALL 0Q (E CHRCT) S)
	(CAIN 1Q (QUOTE 0Q))
	(JRST 0Q TAG47)
	(MOVEI 1Q (QUOTE 40Q))
	(CALL 1Q (E TYO) S)
 TAG47
 TAG45	(MOVE 5Q -3Q P)
	(JUMPE 5Q TAG51)
	(MOVE 1Q -1Q P)
	(CALL 1Q (E FREELIST) S)
	(JRST 0Q TAG1)
 TAG51	(MOVE 1Q -2Q P)
	(CALL 1Q (E FREELIST) S)
 TAG3	(MOVE 1Q (SPECIAL COMMENTSTR) S)
	(JUMPE 1Q TAG54)
	(MOVEI 1Q (QUOTE 175Q))
	(JRST 0Q TAG53)
 TAG54	(MOVEI 1Q (QUOTE 51Q))
 TAG53	(MOVE 2Q 0Q P)
	(CALL 2Q (E TYOA) S)
	(MOVEI 1Q (QUOTE NIL))
 TAG4	(SUB P (C 4Q 0Q 4Q 0Q))
	(POPJ P)
	NIL

(LAP PP-MISER SUBR)
	(PUSH P 1Q)
	(PUSH P 1Q)
	(MOVEI 2Q (QUOTE PP-MISER) S)
	(HLRZ@ 1Q 1Q)
	(CALL 2Q (E GET) S)
	(EXCH 2Q 1Q)
	(JUMPN 2Q TAG1)
	(MOVEI 2Q (QUOTE 1Q))
 TAG1	(MOVEI 3Q (QUOTE MISER) S)
	(MOVE 1Q -1Q P)
	(SUB P (C 2Q 0Q 2Q 0Q))
	(JCALL 3Q (E PP-FORMAT) S)
	NIL

(LAP PP-LABELS SUBR)
	(PUSH P 1Q)
	(PUSH P 1Q)
	(MOVEI 2Q (QUOTE PP-LABELS) S)
	(HLRZ@ 1Q 1Q)
	(CALL 2Q (E GET) S)
	(EXCH 2Q 1Q)
	(JUMPN 2Q TAG1)
	(MOVEI 2Q (QUOTE 1Q))
 TAG1	(MOVEI 3Q (QUOTE LABELS) S)
	(MOVE 1Q -1Q P)
	(SUB P (C 2Q 0Q 2Q 0Q))
	(JCALL 3Q (E PP-FORMAT) S)
	NIL

(LAP PP-SPECIAL SUBR)
	(PUSH P 1Q)
	(PUSH P 1Q)
	(MOVEI 2Q (QUOTE PP-SPECIAL) S)
	(HLRZ@ 1Q 1Q)
	(CALL 2Q (E GET) S)
	(EXCH 2Q 1Q)
	(JUMPN 2Q TAG1)
	(MOVEI 2Q (QUOTE 1Q))
 TAG1	(MOVE 1Q -1Q P)
	(SUB P (C 2Q 0Q 2Q 0Q))
	(JRST 0Q %PPSPEC)
	NIL

(LAP PP-DO SUBR)
	(PUSH P 1Q)
	(PUSH P 1Q)
	(HRRZ@ 1Q 1Q)
	(CALL 1Q (E ATOM) S)
	(JUMPE 1Q TAG2)
	(MOVEI 2Q (QUOTE 0Q))
	(JRST 0Q TAG1)
 TAG2	(HRRZ@ 1Q 0Q P)
	(HLRZ@ 1Q 1Q)
	(MOVEM 1Q (SPECIAL SELECTQ) S)
	(MOVEI 2Q (QUOTE (WHILE UNTIL)) S)
	(CALL 2Q (E MEMQ) S)
	(JUMPE 1Q TAG5)
	(MOVEI 2Q (QUOTE 2Q))
	(JRST 0Q TAG4)
 TAG5	(MOVE 5Q (SPECIAL SELECTQ) S)
	(CAIE 5Q (QUOTE FOR) S)
	(JRST 0Q TAG6)
	(MOVEI 2Q (QUOTE 4Q))
	(JRST 0Q TAG4)
 TAG6	(MOVEI 2Q (QUOTE 0Q))
 TAG4
 TAG1	(MOVE 1Q -1Q P)
	(SUB P (C 2Q 0Q 2Q 0Q))
	(JRST 0Q %PPSPEC)
	NIL

(LAP %PPSPEC SUBR)
	(PUSH P 2Q)
	(PUSH P 1Q)
	(PUSH P 1Q)
	(PUSH P 2Q)
	(PUSHJ P %DEPTH)
	(MOVEI 2Q (QUOTE 6Q))
	(CALL 2Q (E *TIMES) S)
	(MOVEM 1Q 0Q P)
	(CALL 0Q (E CHRCT) S)
	(PUSH P 1Q)
	(HLRZ@ 1Q -2Q P)
	(CALL 1Q (E FLATSIZE) S)
	(MOVE 2Q 1Q)
	(POP P 1Q)
	(CALL 2Q (E *DIF) S)
	(MOVE 2Q 0Q P)
	(CALL 2Q (E *LESS) S)
	(JUMPE 1Q TAG2)
	(MOVEI 3Q (QUOTE MISER) S)
	(JRST 0Q TAG1)
 TAG2	(MOVEI 3Q (QUOTE NIL))
 TAG1	(MOVE 2Q -3Q P)
	(MOVE 1Q -2Q P)
	(SUB P (C 4Q 0Q 4Q 0Q))
	(JCALL 3Q (E PP-FORMAT) S)
	NIL

(DEFLIST (DEFPROP LAMBDA FUNCTION *FUNCTION) PP-MISER PRINTMACRO)

(DEFLIST (FUNCTION *FUNCTION) 0Q PP-MISER)

(DEFLIST (PROG) PP-LABELS PRINTMACRO)

(DEFLIST (DEFP DEFV SETQ DRM DSM DE DF DM DV F:L RPTQ PUSH)
	 PP-SPECIAL 
	 PRINTMACRO)

(DEFLIST (DE DF DM) 2Q PP-SPECIAL)

(DEFPROP DO PP-DO PRINTMACRO)

(DEFLIST (COND AND OR SELECTQ CATCH) BRACKETS PRINTMACRO)

(DEFPROP QUOTE "'" PRINTMACRO)

(DEFPROP ; PP-COMMENT PRINTMACRO)

(DEFPROP ;; PP-COMMENT PRINTMACRO)

(DEFPROP ; 50Q COMMENT)

(DEFPROP ;; T COMMENT)

(DEFV PRETTYFLG T)

(DEFV COMMENTFLG NIL)

(DEFV COMMENTSTR T)

(DEFV PRETTYPROPS
      (SPECIAL (READMACRO . PP-RMACS)
	       EXPR 
	       FEXPR 
	       MACRO 
	       (VALUE . PP-VALUE)
	       PRINTMACRO))

(PROGN (SETQ %%LL (LINELENGTH NIL)) (SETQ %%LP 50Q) (SETQ %%RP 51Q))

(PROGN (DEFP GRINDEF PP (FEXPR FSUBR))
       (DEFP GRINL PPL (FEXPR FSUBR))
       (REMPROP 'GRINPROPS 'VALUE)
       (DEFP GRINPROPS PRETTYPROPS VALUE))